Mailbox Abstractions for Static Analysis of Actor Programs (Artifact)
نویسندگان
چکیده
This artifact is based on Scala-AM, a static analysis framework relying on the Abstracting Abstract Machines approach. This version of the framework is extended to support actor-based programs, written in a variant of Scheme. The sound static analysis is performed in order to verify the absence of errors in actor-based program, and to compute upper bounds on actor’s mailboxes. We developed several mailbox abstractions with which the static analysis can be run, and evaluate the precision of the technique with these mailbox abstractions. This artifact contains documentation on how to use analysis and on how to reproduce the results presented in the companion paper. 1998 ACM Subject Classification F.3.2 Semantics of Programming Languages – Program Analysis
منابع مشابه
Mailbox Abstractions for Static Analysis of Actor Programs
Properties such as the absence of errors or bounds on mailbox sizes are hard to deduce statically for actor-based programs. This is because actor-based programs exhibit several sources of unboundedness, in addition to the non-determinism that is inherent to the concurrent execution of actors. We developed a static technique based on abstract interpretation to soundly reason in a finite amount o...
متن کاملMailbox Types for Unordered Interactions
We propose a type system for reasoning on protocol conformance and deadlock freedom in networks of processes that communicate through unordered mailboxes. We model these networks in the mailbox calculus, a mild extension of the asynchronous π-calculus with first-class mailboxes and selective input. The calculus subsumes the actor model and allows us to analyze networks with dynamic topologies a...
متن کاملModular Static Analysis of Actor Programs
Existing static analyses for actor programs explicitely model all possible execution interleavings. Because the number of interleavings increases exponentially with the number of actors and messages exchanged, such analyses scale poorly. We describe the first modular analysis for actor programs, that analyzes each actor in separation of each other. This analysis over-approximate over the difere...
متن کاملAbstract Interpretation-based Static Safety for Actors
Interpretation-based Static Safety for Actors Pierre-Loïc Garoche, Marc Pantel, and Xavier Thirioux Institut de Recherche en Informatique de Toulouse, France Email: tgaroche,pantel,[email protected] Abstract—The actor model eases the definition of concurrent programs with non uniform behaviors. We present here an encoding of a higher-order actor calculus, CAP, into an abstract interpretatio...
متن کاملEvent-Based Programming Without Inversion of Control
class Actor extends Thread { private var mailbox: List[Any] def !(msg: Any) = ... def receive[a](f: PartialFunction[Any, a]): a = ... ... } The ! method is used to send a message to an actor. The send syntax a!m is simply an abbreviation of the method call a.!(m), just like x+y in Scala is an abbreviation for x.+(y). The method does two things. First, it enqueues the message argument in the act...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- DARTS
دوره 3 شماره
صفحات -
تاریخ انتشار 2017